This stack eliminates script based viruses which spread themselves by appending the scripts of other stacks with additional instructions which in turn infects every stack they come in contact with. The original virus of this ilk is called “merryxmas.”
merryxmas Vaccine The Lean Mean Anti-Virus Machine
Since the appearance of merryxmas, other strains have surfaced such as merry2xmas, Lopez and others too crude to mention. Version 4 is a broad spectrum vaccine that catches ’em all.
NEW in version 4
The newest virus that merryxmas Vaccine eliminates is called “Blink.”
Blink toggles the visible property of the card window off and on again, hence the name. Other than that, it is benign.
The other virus now detected is called "Independance Day" [sic]. This virus intends to delete 1/5 of all current scripts (home stack, current stack, current background, and current card).
No thank you.
See the Version History below for a complete list of enhancements.
What the viruses do
By design, most of these viruses are only supposed to replicate themselves in other stacks. The worst they are intended to do is quit (not crash) HyperCard unexpectedly. An unintended problem is that portions of other scripts can get sucked into the virus script. The results are unpredictable. Over the years, however, the designs of viruses have become more malicious. Independance Day is the most recent example.
Another HyperTalk based virus that merryxmas Vaccine now catches is “pickle” also known as “HC 9507.” The pickle virus is a nasty creation that copies not only itself into the scripts of random stacks, it copies resources — several of which are bastardized copies of Frédéric Rinaldi’s XCMDs & XFCNs. If your stack already contains resources with the same names or ID numbers — they get clobbered. Pickle is also a crasher.
Requirements
Version 4 requires System 7.0 or later, and HyperCard v2.2 or later.
Memory
It is recommended that HyperCard's Preferred Size be set to 2000K or more. The more, the merrier.
Version 4 has been tested and found to be compatible with HyperCard versions 2.2 through 2.4.1.
If you still use a compression utility such as AutoDoubler™, be sure to have adequate free space on the volume being checked. Stacks have a way of expanding as they are being examined.
This stack needs to run unlocked.
What this stack will do
For a selected stack, folder or entire volume, this stack will peek at the stack scripts (without opening the stacks) and strip out the virus code.
A bonus feature is the option to compact those stacks that have free space in them. Don’t worry about locked stacks — merryxmas Vaccine will unlock them as needed and put them back just the way it found them.
How to use this stack
Step 1. If you know, or suspect that the Home stack is infected, it is best
to replace it with a copy from your original disk first.
Step 2. Click the “Preferences” button and choose your desired settings.
Step 3. Click the “Disinfect Stacks” button.
Step 4. Select the stack, folder or volume (disk) you wish to disinfect.
To check a stack that has been saved as a standalone application,
click the “Scan Application” button. Applications can be scanned for viruses, but they can not be disinfected.
To take this stack out for a test run, use it to scan a floppy disk.
Locked disks can be scanned without making changes.
The scripts
The code is based on an infected stack brought to my attention by
Ken Dunham at LaGrande Middle School. merryxmas Vaccine was developed on my own time, on my own computer, for use in the public domain.
Soapbox
Viruses are unworthy creations for such clever and talented people.
It is my hope that the authors of script based viruses will realize the destructive impact that pranks like this have in terms of lost time & productivity and find inspiration for more constructive contributions.
Copycat virus spreaders on the other hand are neither clever nor talented.
They are small minded trouble makers, low on the food chain.
Bill Swagerty
Email: billds@aol.com
Known Problems
none
Version History & Acknowledgements
Version 4.2
-Lowered memory requirements for scanning large stacks.
Version 4.1
*Rolf Heller of Vienna, Austria for pointing out a quirk in earlier versions
of HyperCard where it fails to return the size of a stack that is open via
the open file command. HC v2.4.1 does not exhibit this, but HC v2.2 does.
Version 4.0
-Detects and removes the “Blink” virus.
-Identifies, but does not attempt to eradicate, a virus known as
“Independance Day.” Trying to unravel this turkey is just not practical.
-Huge volumes of stacks can now be scanned in a single pass.
No longer restricted by the 30,000 character limit of a field.
(The Preferred memory size for HyperCard needs to be goosed up
to facilitate this enhanced capability.)
-Now automatically converts and disinfects infected version 1.x stacks
*Jacque Gay for the framework used to minimize demands on memory,
for bringing “Blink” to my attention, and for exceptional testing
*Devin Asay for pointing out an “opportunity” to improve detection
of virus code that has been partially deleted or fragmented since the
original infection
*Ken Dunham for suggesting that the previous barrage of dialog boxes
be avoided by putting all those decisions on a preferences card
-Replaced Apple’s unreliable FolderPath XFCN with Frédéric Rinaldi’s
FullSFPack XFCN (Apple’s did not always enable the Select button
when selecting a folder).
-Replaced Apple’s VolumeIsLocked XFCN with yet another Rinaldi
XFCN (GetVInfo). Apple’s function thought that CDs were unlocked.
-Added date and time stamps to the printed report
-Now ignores files that are in the trash
-Now avoids aliases all together
-Integrated color into the stack rather than faking it with pictures
Click the “About This Stack” button in the main window for complete version history & acknowledgements.